home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 July / EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso / earcd / util / rexx / dgen2htm.lha / dgen2html_v204 / DGen2HTML.rexx next >
OS/2 REXX Batch file  |  1997-04-22  |  35KB  |  21 lines

  1. /*************************************************************************/
  2. /*
  3. ** $VER: Desert_Gen2HTML V2.04 (22-Apr-1997) ©1996-1997 Terence Nichols
  4. */
  5. /*                                                                       */
  6. /* This Program Produces a GENDEX file and creates HTML Pages for your   */
  7. /* system. It is © Copyright 1996-1997 Terence Nichols and may be freely */
  8. /* distributed as Shareware. It is not and never will be Public Domain.  */
  9. /* Persons who register by sending me an Email message will be elegable  */
  10. /* to recieve update as and when available.                              */
  11. /*                                                                       */
  12. /* Please read the Licence Agreement available online at :               */
  13. /* http://www.networx.net.au/~spinne/index.html                          */
  14. /*                                                                       */
  15. /*************************************************************************/
  16. /*                                                                       */
  17. /*   DO NOT MODIFY ANYTHING THERE ARE NO USER PARAMETERS LISTED BELOW    */
  18. /*                                                                       */
  19. /*************************************************************************/
  20.  
  21. Pname='DGen2HTML';Version='2.04';Lic='© 1996-1997';Owner='Terence Nichols';Address='spinne@networx.net.au';Shome='www.networx.net.au/~spinne/';OPTIONS RESULTS;SIGNAL ON BREAK_C;SIGNAL ON IOERR;GendexFile='GENDEX.txt';Metawords='';LF='0A'x;BELL='07'x;ESC='1B'x;VT='0B'x;List.0=0;Dlist.0=0;enum=0;i=0;Mi=0;Dt=0;MAIN:;CALL CHECK;CALL TOOLTYPES;ADDRESS VALUE "SCIONGEN";GETDBNAME;dbname=RESULT;GETDBPATH;dbpath=RESULT;IF RIGHT(dbpath,1) ~='/' THEN Dbpath= Dbpath||'/';CALL WELCOME;CALL MAKEQUICKINDEX;CALL QUICKPAGE;CALL MAINPAGE;CALL TOPPAGE;CALL INTROPAGE;IF Bpages ~=1 THEN CALL PERSONALINDEXPAGE;IF Gdx=1 THEN CALL GENGENDEX;IF Bpages ~=1 THEN CALL CREATEPAGES;IF Bpages=1 THEN CALL BIGPAGES;CALL THANKYOU;IF SHOW('P','VOYAGER') THEN CALL VOYAGERVIEW;EXIT;CHECK:;IF ~SHOW(l,'rexxreqtools.library') THEN;DO;IF ~addlib('rexxreqtools.library',0,-30) THEN;DO;SAY 'Please install the rexxreqtools.library in your libs: directory';END;END;IF ~SHOW(l,'rexxtricks.library') THEN;DO;IF ~addlib('rexxtricks.library',0,-30) THEN;DO;Rtext='Please install the rexxtricks.library in your libs: directory';enum=1;CALL RERROR;END;END;IF ~SHOW('P','SCIONGEN') THEN;DO;SAY BELL;SAY ''ESC'[32m';SAY 'Please'ESC'[33m Start'ESC'[32m Scion'ESC'[31m' Now''LF'';Rtext=Pname Version LF 'Requires SCION to be running';enum=2;CALL RERROR;END;RETURN;MAKEQUICKINDEX:;SAY 'Creating 'Pname Version 'Index';GETTOTALIRN;List.0=RESULT;DO id=1 TO List.0;GETLASTNAME id;Lastname=RESULT;IF Lastname="" THEN Lastname='UNKNOWN';IF WORDS(Lastname)>1 THEN Lastname=TRANSLATE(Lastname,"_"," ");GETFIRSTNAME id;First=RESULT;IF First="" THEN First='Firstname UNKNOWN';List.id=Lastname LEFT(First,3) id;END;a=rxtr_qsort(List,,,,);nl=0;DO id=1 to List.0;idm=id-1;m=RXTR_MATCHPATTERN(WORD(List.id,1),WORD(List.idm,1),'CASE');IF m=0 THEN;DO;nl=nl+1;Nlist.nl=WORD(List.id,1);END;Nlist.0=nl;END;IF Metakey=1 THEN;DO id=1 to Nlist.0;Metawords=Metawords||','||Nlist.id;END;RETURN;QUICKPAGE:;SAY 'Building Quick Index Page';File='qhtml';Idpage='quick.'||Ext;IF ~OPEN(''||File||'',''||GendexPath||''||Idpage||'',W) THEN;DO;Rtext='Cannot Open 'Idpage;enum=3;CALL RERROR;END;htitle=Realname' Genealogy Quick Index';CALL HEADDERTEXT;Mycol='Quick';CALL COLORSET;Ufile='prequick.txt';CALL USERTEXT;Fdata='<hr>';WRITELN(''||File||'',Fdata);DO id=1 to Nlist.0;k=LEFT(Nlist.id,1);Fdata='<br>'LF'<a href="'||k||'ind.'||Ext||'#'||Nlist.id||'" >'||TRANSLATE(Nlist.id," ","_")||'</a>';WRITELN(''||File||'',Fdata);END;WRITELN(''||File||'','<hr>'LF);Ufile='postquick.txt';CALL USERTEXT;Fdata='<hr>';WRITELN(''||File||'',Fdata);CALL PAGEEND;CLOSE('qhtml');RETURN;MAINPAGE:;SAY 'Building Main Page';File='mhtml';Idpage='index.'||Ext;IF ~OPEN(''||File||'',''||GendexPath||''||Idpage||'',W) THEN;DO;Rtext='UNABLE TO CREATE 'Idpage;enum=4;CALL RERROR;END;htitle=Realname' Genealogy Index';CALL HEADDERTEXT;Fdata='<FRAMESET FRAMEBORDER=YES BORDER=1 ROWS="80,*" >'LF;Fdata=Fdata||'<FRAME NAME="top" MARGINHEIGHT="0" SCROLLING="NO" SRC="top.'||Ext||'" >'LF;Fdata=Fdata||'<FRAMESET FRAMEBORDER=NO BORDER=0 COLS="200,*">'LF;Fdata=Fdata||'<FRAME NAME="quick" MARGINWIDTH="2" MARGINHEIGHT="10" SCROLLING="auto" SRC="quick.'||Ext||'" >'LF;Fdata=Fdata||'<FRAME NAME="main" MARGINWIDTH="2" MARGINHEIGHT="10" SCROLLING="auto" SRC="main.'||Ext||'" >'LF;Fdata=Fdata||'</FRAMESET>'LF'</FRAMESET>'LF;Fdata=Fdata||'<NOFRAMES>'LF;WRITELN(''||File||'',Fdata);IF Noframes=1 THEN;DO;Mycol="";CALL COLORSET;Fdata='<center><h1><b>'||Realname ' - 'dbname 'Genealogy Index Page</b></h1></center>'LF;Fdata=Fdata||'<hr>'LF'<p></p>'LF'If you are seeing this Index Page your Browser ';Fdata=Fdata||'is not capable of displaying FRAMES. I suggest that you ';Fdata=Fdata||'download a modern FRAMES capable browser. They are ';Fdata=Fdata||'now available for most computer platforms<br>'LF'<p></p>'LF;Fdata=Fdata||'You may still use this online database by starting with ';Fdata=Fdata||'the <a href="quick.'||Ext||'" >QUICK</a> index page ';Fdata=Fdata||'to see the SURNAMES listing.'LF'<p></p>'LF;WRITELN(''||File||'',Fdata);Ufile='noframes.txt';CALL USERTEXT;Ufile='intro.txt';CALL USERTEXT;Ufile='postpage.txt';CALL USERTEXT;END;WRITELN(''||File||'','</NOFRAMES>' LF '<hr>');CALL PAGEEND;CLOSE('mhtml');RETURN;TOPPAGE:;SAY 'Building Top Page';File='thtml';Idpage='top.'||Ext;IF ~OPEN(''||File||'',''||GendexPath||''||Idpage||'',W) THEN;DO;Rtext='UNABLE TO CREATE 'Idpage;enum=5;CALL RERROR;END;htitle=Realname' Genealogy';CALL HEADDERTEXT;Mycol='Top';CALL COLORSET;Fdata='<center><b><h2>'||dbname||' Genealogy Pages</h2></b></center>'LF;WRITELN(''||File||'',Fdata);CALL PAGEEND;CLOSE('thtml');RETURN;PAGEEND:;Fdata=LF;Fdata=Fdata||'<center>Created 'Date('N') Time('N') '  For ';Fdata=Fdata||'<b><a href="mailto:'||Mailto||'" >'||Realname||'</a></b>. 'LF;Fdata=Fdata||'By <a href="http://'||Shome||'" >'||Pname Version||'</a> 'Lic;IF File ~='thtml' THEN;DO;Fdata=Fdata||' From a <a href="mailto:rakins@bclNZ.co.nz" >Scion ©</a>';Fdata=Fdata||' Database.';END;Fdata=Fdata||'.</center>'LF;WRITELN(''||File||'',Fdata LF'</body></html>');RETURN;INTROPAGE:;SAY 'Building Introduction Page';File='ihtml';Idpage='main.'||Ext;IF ~OPEN(''||File||'',''||GendexPath||''||Idpage||'',W) THEN;DO;Rtext='UNABLE TO CREATE 'Idpage;enum=6;CALL RERROR;END;htitle=Pname Version ' Introduction';CALL HEADDERTEXT;Mycol='Intro';CALL COLORSET;Fdata='<center><b><h1>'||Realname '-' dbname 'Genealogy Pages</h1></b></center>';Fdata=Fdata||'<br>Last updated ' Date() ' by ' Realname '<hr>';WRITELN(''||File||'',Fdata);Ufile='intro.txt';CALL USERTEXT;WRITELN(''||File||'','<br><br><hr>');CALL PAGEEND;CLOSE('ihtml');RETURN;USERTEXT:;IF EXISTS(''||GendexPath||Ufile||'') THEN;DO;OPEN('utxt',''||GendexPath||Ufile||'','R');DO UNTIL EOF('utxt');Fdata=READLN('utxt');WRITELN(''||File||'',Fdata);END;END;CLOSE('utxt');Ufile="";RETURN;HEADDERTEXT:;Fdata='<html>'LF'<head>'LF'<!--OWNER_NAME="'||Realname||'"-->'LF;Fdata=Fdata||'<!--OWNER_INFO="'||Realname||' Genealogy Pages"-->'LF;Fdata=Fdata||'<META NAME="DESCRIPTION" CONTENT="'||Realname||' Genealogy">'LF;Fdata=Fdata||'<META HTTP-EQUIV="KEYWORDS" CONTENT="'||Realname||',genealogy,'||Metawords||'">'LF;Fdata=Fdata||'<META NAME="AUTHOR" CONTENT="'||Realname||','||Mailto||'">'LF;IF File='qhtml' THEN Fdata=Fdata||'<base target="main">'LF;Fdata=Fdata||'<title>'||htitle||'</title>' LF '</head>' LF;WRITELN(''||File||'',Fdata);RETURN;PERSONALINDEXPAGE:;SAY 'Building Personal Index Pages';File='phtml';Idpage='';DO id=1 TO List.0;num=id+1;nmm=id-1;pre=LEFT(List.id,1);tst=LEFT(List.num,1);lsf=WORD(List.id,1);lst=WORD(List.num,1);lpr=WORD(List.nmm,1);irn=WORD(List.id,3);Mdata="";Marry=0;Idpage=pre||'ind.'||Ext;IF ~OPEN(''||File||'',''||GendexPath||''||Idpage||'','A') THEN;DO;IF ~OPEN(''||File||'',''||GendexPath||''||Idpage||'','W') THEN;DO;SAY 'UNABLE TO CREATE 'Idpage;enum=7;CALL RERROR;END;END;IF SEEK(''||File||'',0,'E')=0 THEN;DO;htitle= dbname||' - '||pre||' Index Page';CALL HEADDERTEXT;Mycol='Alpha';CALL COLORSET;Fdata='<center><b><h2>'||pre||' - Index Page</h2></b>'LF;Fdata=Fdata||'<font size=-1><br>Created '||DATE('N')||' by '||Realname||'</font></center>';WRITELN(''||File||'',Fdata);END;GETLASTNAME irn;Last=RESULT;Last=TRANSLATE(Last,"_"," ");IF Last='' THEN Last='UNKNOWN';IF Last ~=lpr THEN WRITELN(''||File||'','<hr><a name="'||Last||'" ></a>'LF'<center><h3><b>'||TRANSLATE(Last," ","_")||'</b></h3></center><hr><br>');GETFIRSTNAME irn;First=RESULT;IF First='' THEN First='First Name UNKNOWN';GETBIRTHDATE irn;Birth=RESULT;IF Birth ~="" THEN Birth='<b>dob:</b> 'Birth;IF Ddate=1 THEN;DO;GETDEATHDATE irn;Death=RESULT;IF Death ~="" THEN Death='<b>dod:</b> 'Death;END;GETNUMMARRY irn;Marry=RESULT;IF Marry>0 THEN;DO mid=0 TO Marry-1;GETMARRIAGE irn mid;fgrn=RESULT;GETSPOUSE fgrn;spn=RESULT;IF spn=irn THEN;DO;GETPRINCIPAL fgrn;spn=RESULT;END;GETLASTNAME spn;lspn=RESULT;GETFIRSTNAME spn;fspn=RESULT;IF Marplace=1 THEN;DO;GETMARRYDATE fgrn;mdate=RESULT;END;ELSE mdate="";Mdata=Mdata||'<br>'LF'<b>Marriage ' mid+1 ': 'lspn||'</b> ' fspn mdate;END;IF Marry=0 THEN Data=Birth Death;ELSE Data=Birth Mdata;Fdata='<a href="I'||WORD(List.id,3)||'.'||Ext||'" >'||First||'</a> 'Data'<br><br>';WRITELN(''||File||'',Fdata);IF pre ~=tst THEN;DO;WRITELN(''||File||'','<br><hr>');Ufile='postindex.txt';CALL USERTEXT;Fdata='<hr>';WRITELN(''||File||'',Fdata);CALL PAGEEND;END;CLOSE('phtml');END;RETURN;GENGENDEX:;SAY 'Building Gendex File';File='gi';IF ~OPEN(''||File||'',''||GendexPath||''||Gendexfile||'',W) THEN;DO;Rtext='Unable to Create 'Gendexfile;enum=8;CALL RERROR;END;Fdata='$VER: ' DATE('N') TIME('N') 'File Created by ' Pname Version Lic Realname LF LF;WRITELN('gi',''||Fdata||'');DO Id=1 TO List.0;irn=WORD(List.id,3);Lastname=TRANSLATE(WORD(List.id,1)," ","_");IF Lastname='UNKNOWN' THEN Lastname='';GETFIRSTNAME irn;Firstname=RESULT;GETBIRTHDATE irn;Birthdate=RESULT;IF Birplace=1 THEN;DO;GETBIRTHPLACE irn;Birthplace=RESULT;END;ELSE Birthplace="";IF Ddate=1 THEN;DO;GETDEATHDATE irn;Deathdate=RESULT;END;ELSE Deathdate="";IF Dplace=1 THEN;DO;GETDEATHPLACE irn;Deathplace=RESULT;END;ELSE Deathplace="";IF Bpages ~=1 THEN Fdata='I'||irn||'.'||Ext||'|';ELSE;DO;IF Lastname="" THEN Fdata='Uind.'||Ext||'#'irn'|';ELSE Fdata=LEFT(Lastname,1)||'ind.'||Ext||'#'irn'|';END;Fdata=Fdata||Lastname||'|'||Firstname||' /'||Lastname||'/';Fdata=Fdata||'|'||Birthdate||'|'||Birthplace||'|'||Deathdate;Fdata=Fdata||'|'||Deathplace||'|';WRITELN('gi',Fdata);END;CLOSE('gi');RETURN;CREATEPAGES:;SAY 'Creating Personal Pages';SAY 'This will take some time'LF;DO id=1 TO List.0;File='idhtml';irn=WORD(List.id,3);SAY 'Building Page 'irn||'      ';Idpage='I'||irn||'.'||Ext;IF ~OPEN(''||File||'',''||GendexPath||Idpage||'',W) THEN;DO;Rtext='Cannot Create 'Idpage;enum=9;CALL RERROR;END;htitle='Personal Page 'WORD(List.id,3);Mycol='Indi';CALL COLORSET;CALL HEADDERTEXT;GETFIRSTNAME irn;Firstname=RESULT;Lastname=WORD(List.id,1);Lastname=TRANSLATE(Lastname," ","_");IF Lastname='UNKNOWN' THEN Lastname='';Fdata='<h1><center>'Firstname' <b>'||Lastname||'</b></center></h1>'LF;Fdata=Fdata||'<hr>'LF;Fdata=Fdata||'Created 'Date('N') Time('N')' by 'Realname LF;Fdata=Fdata||'<hr>'LF;Fdata=Fdata||'<h3>'||Firstname||' <b>'||Lastname||'</b></h3><br>'LF;GETBIRTHDATE irn;Birthdate=RESULT;IF Birthdate ~="" THEN Fdata=Fdata||'<b>Birth Date :</b> 'Birthdate '<br>'LF;IF Birplace=1 THEN;DO;GETBIRTHPLACE irn;Birthplace=RESULT;IF Birthplace ~="" THEN Fdata=Fdata||'<b>Birth Place :</b> 'Birthplace'<br>'LF;END;IF Bap=1 THEN;DO;GETBAPTISMDATE irn;Baptism=RESULT;IF Baptism ~="" THEN Fdata=Fdata||'<b>Baptism Date :</b> 'Baptism'<br>'LF;END;IF Baplace=1 THEN;DO;GETBAPTISMPLACE irn;Baptismplace=RESULT;IF Baptismplace ~="" THEN Fdata=Fdata||'<b>Baptism Place :</b> 'Baptismplace'<br>'LF;END;IF Ddate=1 THEN;DO;GETDEATHDATE irn;Deathdate=RESULT;IF Deathdate ~="" THEN Fdata=Fdata||'<b>Died :</b> 'Deathdate'<br>' LF;END;IF Dplace=1 THEN;DO;GETDEATHPLACE irn;Deathplace=RESULT;IF Deathplace ~="" THEN Fdata=Fdata||'<b>Death Place :</b> 'Deathplace'<br>'LF;END;IF Burdate=1 THEN;DO;GETBURIALDATE irn;Burialdate=RESULT;IF Burialdate ~="" THEN Fdata=Fdata||'<b>Burial Date :</b> 'Burialdate'<br>'LF;END;IF Burplace=1 THEN;DO;GETBURIALPLACE irn;Burialplace=RESULT;IF Burialplace ~="" THEN Fdata=Fdata||'<b>Burial Place :</b> 'Burialplace'<br>'LF;END;WRITELN(''||File||'',Fdata);Fdata='<br>'LF;IF Occ=1 THEN;DO;GETOCCUPATION irn;Occupation=RESULT;IF Occupation ~="" THEN Fdata=Fdata||'<b>Occupation :</b> 'Occupation'<br>'LF;END;IF Edu=1 THEN;DO;GETEDUCATION irn;Education=RESULT;IF Education ~="" THEN Fdata=Fdata||'<b>Education :</b> 'Education'<br>'LF;END;IF Rel=1 THEN;DO;GETRELIGION irn;Religion=RESULT;IF Religion ~="" THEN Fdata=Fdata||'<b>Religion :</b> 'Religion'<br>'LF;END;IF Diedof=1 THEN;DO;GETDIEDOF irn;Diedfrom=RESULT;IF Diedfrom ~="" THEN Fdata=Fdata||'<b>Died of :</b> 'Diedfrom'<br>'LF;END;IF Pcomm=1 THEN;DO;GETPERSCOMMENT irn;Pcomment=RESULT;IF Pcomment ~="" THEN Fdata=Fdata||'<b>Comments :</b> 'Pcomment'<br>'LF;END;IF Pref=1 THEN;DO;GETPERSREFS irn;Preferences=RESULT;IF Preferences ~="" THEN Fdata=Fdata||'<b>References :</b> 'Preferences'<br>'LF;END;WRITELN(''||File||'',Fdata);Fdata='';GETFATHER irn;Father=RESULT;IF Father ~="" THEN;DO;GETFIRSTNAME Father;Ffirst=RESULT;GETLASTNAME Father;Flast=RESULT;Fpage='I'||Father||'.'||Ext;END;GETMOTHER irn;Mother=RESULT;IF Mother ~="" THEN;DO;GETFIRSTNAME Mother;Mfirst=RESULT;GETLASTNAME Mother;Mlast=RESULT;Mpage='I'||Mother||'.'||Ext;END;IF Father ~=0 THEN Fdata=Fdata||'<b>Father :</b></font><a href="'||Fpage||'" >'||Ffirst' <b>'Flast||'</b></a><br>'LF;IF Mother ~=0 THEN Fdata=Fdata||'<b>Mother :</b><a href="'||Mpage||'" >'||Mfirst' <b>'Mlast||'</b></a><br>'LF;WRITELN(''||File||'',Fdata);Fdata='';GETNUMSIB irn;Numsib=RESULT;IF Numsib ~=0 THEN WRITELN(''||File||'','<b>Siblings :</b> 'Numsib' Recorded <br>');IF Pnotes ~=0 THEN;DO;Ufile='PN'||irn||'.'||Dbname;Ntitle=Firstname Lastname '- Personal Notes';CALL NOTES;END;GETNUMMARRY irn;Nummarry=RESULT;IF Nummarry>0 THEN;DO;Fdata='<hr>'LF'<h3><b>Marriages Recorded = 'Nummarry||'</b></h3>'LF'<hr>'LF;WRITELN(''||File||'',Fdata);DO mid=0 TO Nummarry-1;GETMARRIAGE irn mid;fgrn=RESULT;GETSPOUSE fgrn;spn=RESULT;IF spn=irn THEN;DO;GETPRINCIPAL fgrn;spn=RESULT;END;GETLASTNAME spn;lspn=RESULT;GETFIRSTNAME spn;fspn=RESULT;GETMARRYDATE fgrn;mdate=RESULT;Fdata='<br>'LF'<b>Marriage ' mid+1 ' :</b> ';Fdata=Fdata||' <a href="I'||spn||'.'||Ext;Fdata=Fdata||'" >'||fspn' <b>'||lspn||'</b></a><br>'LF'<br>'LF;WRITELN(''||File||'',Fdata);Fdata="";IF Engdate=1 THEN;DO;GETENGAGEDATE fgrn;Engagedate=RESULT;IF Engagedate ~="" THEN Fdata=Fdata||'<b>Engagement :</b> 'Engagedate'<br>'LF;END;IF Engplace=1 THEN;DO;GETENGAGEPLACE fgrn;Engageplace=RESULT;IF Engageplace ~="" THEN Fdata=Fdata||'<b>Engagement Place :</b> 'Engageplace'<br>'LF;END;IF mdate ~="" THEN Fdata=Fdata||'<b>Marriage Date :</b> 'mdate'<br>'LF;IF Marplace=1 THEN;DO;GETMARRYPLACE fgrn;mplc=RESULT;IF mplc ~="" THEN Fdata=Fdata||'<b>Marriage Place :</b> 'mplc'<br>'LF;END;IF Marendate=1 THEN;DO;GETENDDATE fgrn;Menddate=RESULT;IF Menddate ~="" THEN Fdata=Fdata||'<b>End Date :</b> 'Menddate'<br>'LF;END;IF Mendplace=1 THEN;DO;GETENDPLACE fgrn;pend=RESULT;IF pend ~="" THEN Fdata=Fdata||'<b>End Place :</b> 'pend'<br>'LF;END;IF Endmar=1 THEN;DO;GETENDING fgrn;mend=RESULT;SELECT;WHEN mend=2 THEN endm='Divorce';WHEN mend=3 THEN endm='Separation';WHEN mend=4 THEN endm='Annulment';WHEN mend=5 THEN endm='Death';OTHERWISE endm="";END;IF endm ~="" THEN Fdata=Fdata||'<b>End Reason :</b> 'endm'<br>'LF;END;WRITELN(''||File||'',Fdata);Fdata="";IF Cele=1 THEN;DO;GETCELEBRANT fgrn;Celebrant=RESULT;IF Celebrant ~="" THEN Fdata=Fdata||'<b>Celebrant :</b> 'Celebrant'<br>'LF;END;IF Wit=1 THEN;DO;GETWITNESS fgrn;Witness=RESULT;IF Witness ~="" THEN Fdata=Fdata||'<b>Witness :</b> 'Witness'<br>'LF;END;IF Fcomm=1 THEN;DO;GETFAMCOMMENT fgrn;Fcomment=RESULT;IF Fcomment ~="" THEN Fdata=Fdata||'<b>Comment :</b> 'Fcomment'<br>'LF;END;IF Fref=1 THEN;DO;GETFAMREFS fgrn;Freference=RESULT;IF Freference ~="" THEN Fdata=Fdata||'<b>Reference :</b> 'Freference'<br>'LF;END;WRITELN(''||File||'',Fdata);GETNUMCHILD fgrn;numc=RESULT;IF numc>0 THEN;DO cnum=0 TO numc-1;GETCHILD fgrn cnum;Child=RESULT;GETFIRSTNAME Child;Fchild=RESULT;GETLASTNAME Child;Lchild=RESULT;Childpage='I'||Child||'.'||Ext;Fdata='<b>Child 'cnum+1' :</b><a href="'||Childpage||'" >'||Fchild Lchild||'</a><br>'LF;WRITELN(''||File||'',Fdata);Fdata="";END;IF Pnotes ~=0 THEN;DO;Ufile='FN'||fgrn||'.'||Dbname;Ntitle=Firstname Lastname 'and' fspn lspn '- Family Notes';CALL NOTES;END;END;END;Ufile='postpage.txt';CALL USERTEXT;WRITELN(''||File||'','<br>'LF'<hr>');CALL PAGEEND;CLOSE('idhtml');SAY VT VT;END;SAY 'ALL Pages Complete'LF;RETURN;TOOLTYPES:;Realname=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',REAL_NAME);IF Realname="" THEN Realname='Unknown User';Mailto=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',EMAIL);IF Mailto="" THEN Mailto='No.Mail.Wanted';Public=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',HOME_URL);IF Public="" THEN Public='http://Please.Include.URL';Homepage=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',HOME_PAGE);IF Homepage="" THEN Homepage='HomePage';Fnotes=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',FAMILY_NOTES);IF Fnotes="" THEN Fnotes=0;Pnotes=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',PERSONAL_NOTES);IF Pnotes="" THEN Pnotes=0;Ext=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',FILE_EXTENSION);IF Ext="" THEN Ext='html';Gdx=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',MAKE_GENDEX);IF Gdx ~=1 THEN Gdx=0;Bgcolor=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',BACKGROUND_COLOR);IF Bgcolor="" THEN Bgcolor="";Text=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',TEXT_COLOR);IF Text="" THEN Text="";Link=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',LINK);IF Link="" THEN Link="";Vlink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',VLINK);IF Vlink="" THEN Vlink="";Alink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',ALINK);IF Alink="" THEN Alink="";Background=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',BACKGROUND_IMAGE);IF Background="" THEN Background="";Topbgcolor=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',TOP_BACKGROUND_COLOR);IF Topbgcolor="" THEN Topbgcolor="";Toptext=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',TOP_TEXT_COLOR);IF Toptext="" THEN Toptext="";Toplink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',TOP_LINK);IF Toplink="" THEN Toplink="";Topvlink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',TOP_VLINK);IF Topvlink="" THEN Topvlink="";Topalink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',TOP_ALINK);IF Topalink="" THEN Topalink="";Topbackground=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',TOP_BACKGROUND_IMAGE);IF Topbackground="" THEN Topbackground="";Quickbgcolor=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',QUICK_BACKGROUND_COLOR);IF Quickbgcolor="" THEN Quickbgcolor="";Quicktext=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',QUICK_TEXT_COLOR);IF Quicktext="" THEN Quicktext="";Quicklink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',QUICK_LINK);IF Quicklink="" THEN Quicklink="";Quickvlink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',QUICK_VLINK);IF Quickvlink="" THEN Quickvlink="";Quickalink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',QUICK_ALINK);IF Quickalink="" THEN Quickalink="";Quickbackground=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',QUICK_BACKGROUND_IMAGE);IF Quickbackground="" THEN Quickbackground="";Indibgcolor=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INDI_BACKGROUND_COLOR);IF Indibgcolor="" THEN Indibgcolor="";Inditext=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INDI_TEXT_COLOR);IF Inditext="" THEN Inditext="";Indilink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INDI_LINK);IF Indilink="" THEN Indilink="";Indivlink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INDI_VLINK);IF Indivlink="" THEN Indivlink="";Indialink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INDI_ALINK);IF Indialink="" THEN Indialink="";Indibackground=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INDI_BACKGROUND_IMAGE);IF Indibackground="" THEN Indibackground="";Alphabgcolor=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',ALPHA_BACKGROUND_COLOR);IF Alphabgcolor="" THEN Alphabgcolor="";Alphatext=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',ALPHA_TEXT_COLOR);IF Alphatext="" THEN Alphatext="";Alphalink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',ALPHA_LINK);IF Alphalink="" THEN Alphalink="";Alphavlink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',ALPHA_VLINK);IF Alphavlink="" THEN Alphavlink="";Alphaalink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',ALPHA_ALINK);IF Alphaalink="" THEN Alphaalink="";Alphabackground=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',ALPHA_BACKGROUND_IMAGE);IF Alphabackground="" THEN Alphabackground="";Introbgcolor=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INTRO_BACKGROUND_COLOR);IF Introbgcolor="" THEN Introbgcolor="";Introtext=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INTRO_TEXT_COLOR);IF Introtext="" THEN Introtext="";Introlink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INTRO_LINK);IF Introlink="" THEN Introlink="";Introvlink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INTRO_VLINK);IF Introvlink="" THEN Introvlink="";Introalink=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INTRO_ALINK);IF Introalink="" THEN Introalink="";Introbackground=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INTRO_BACKGROUND_IMAGE);IF Introbackground="" THEN Introbackground="";Birplace=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',BIRTH_PLACE);IF Birplace ~=1 THEN Birplace=0;Bap=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',BAPTISM_DATE);IF Bap ~=1 THEN Bap=0;Baplace=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',BAPTISM_PLACE);IF Baplace ~=1 THEN Baplace=0;Ddate=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',DEATH_DATE);IF Ddate ~=1 THEN Ddate=0;Dplace=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',DEATH_PLACE);IF Dplace ~=1 THEN Dplace=0;Burdate=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',BURIAL_DATE);IF Burdate ~=1 THEN Burdate=0;Burplace=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',BURIAL_PLACE);IF Burplace ~=1 THEN Burplace=0;Occ=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',OCCUPATION);IF Occ ~=1 THEN Occ=0;Edu=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',EDUCATION);IF Edu ~=1 THEN Edu=0;Rel=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',RELIGION);IF Rel ~=1 THEN Rel=0;Diedof=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',DIED_OF);IF Diedof ~=1 THEN Diedof=0;Pcomm=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',PERSONAL_COMMENT);IF Pcomm ~=1 THEN Pcomm=0;Pref=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',PERSONAL_REFERENCES);IF Pref ~=1 THEN Pref=0;Engdate=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',ENGAGEMENT_DATE);IF Engdate ~=1 THEN Engdate=0;Engplace=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',ENGAGEMENT_PLACE);IF Engplace ~=1 THEN Engplace=0;Marplace=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',MARRIAGE_PLACE);IF Marplace ~=1 THEN Marplace=0;Marendate=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',MARRIAGE_END_DATE);IF Marendate ~=1 THEN Marendate=0;Mendplace=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',MARRIAGE_END_PLACE);IF Mendplace ~=1 THEN Mendplace=0;Cele=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',CELEBRANT);IF Cele ~=1 THEN Cele=0;Wit=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',WITNESS);IF Wit ~=1 THEN Wit=0;Fcomm=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',FAMILY_COMMENT);IF Fcomm ~=1 THEN Fcomm=0;Fref=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',FAMILY_REFERENCES);IF Fref ~=1 THEN Fref=0;Endmar=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',MARRIAGE_END_REASON);IF Endmar ~=1 THEN Endmar=0;Metakey=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',META_KEY_WORDS);IF Metakey ~=1 THEN Metakey=0;Noframes=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',INCLUDE_NOFRAMES);IF Noframes ~=1 THEN Noframes=0;view=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',VIEW);IF view ~=1 THEN view=0;Bpages=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',BIG_PAGES);IF Bpages ~=1 THEN Bpages=0;GendexPath=RXTR_GETTOOLTYPEVALUE(Pname||'.rexx',PAGES_OUT_PATH);IF ~EXISTS(GendexPath) THEN CALL REQDIR;IF GendexPath="" THEN;REQDIR:;DO;C=RTFILEREQUEST(,,'Select Output Path','_Select','rtfi_flags=freqf_nofiles',test);GendexPath=C;END;RETURN;NOTES:;IF EXISTS(''||dbpath||Ufile||'') THEN;DO;WRITELN(''||File||'','<hr><h4><b>'||Ntitle||'</b><hr></h4>');IF ~OPEN('inf',''||dbpath||Ufile||'','R') THEN;SAY LF' Unable to open file : 'Ufile LF;ELSE;DO UNTIL EOF('inf');Fdata=READLN('inf');IF LENGTH(Fdata)<1 THEN Fdata=Fdata'<br>';WRITELN(''||File||'',Fdata);END;Close('inf');END;Ufile="";Ntitle="";RETURN;COLORSET:;Fdata='<body ';SELECT;WHEN Mycol='Top' THEN CALL TOPCOL;WHEN Mycol='Quick' THEN CALL QUICKCOL;WHEN Mycol='Indi' THEN CALL INDICOL;WHEN Mycol='Alpha' THEN CALL ALPHACOL;WHEN Mycol='Intro' THEN CALL INTROCOL;OTHERWISE;DO;IF Bgcolor ~="" THEN Fdata=Fdata||'bgcolor="'||bgcolor||'" ';IF Text ~="" THEN Fdata=Fdata||'text="'||Text||'" ';IF Link ~="" THEN Fdata=Fdata||'link="'||Link||'" ';IF Vlink ~="" THEN Fdata=Fdata||'vlink="'||Vlink||'" ';IF Alink ~="" THEN Fdata=Fdata||'alink="'||Alink||'" ';IF Background ~="" THEN Fdata=Fdata||'background="'||Background||'" ';END;END;Fdata=Fdata||' > 'LF;WRITELN(''||File||'',Fdata);RETURN;TOPCOL:;IF Topbgcolor ~="" THEN Fdata=Fdata||'bgcolor="'||Topbgcolor||'" ';IF Toptext ~="" THEN Fdata=Fdata||'text="'||Toptext||'" ';IF Toplink ~="" THEN Fdata=Fdata||'link="'||Toplink||'" ';IF Topvlink ~="" THEN Fdata=Fdata||'vlink="'||Topvlink||'" ';IF Topalink ~="" THEN Fdata=Fdata||'alink="'||Topalink||'" ';IF Topbackground ~="" THEN Fdata=Fdata||'background="'||Topbackground||'" ';RETURN;QUICKCOL:;IF Quickbgcolor ~="" THEN Fdata=Fdata||'bgcolor="'||Quickbgcolor||'" ';IF Quicktext ~="" THEN Fdata=Fdata||'text="'||Quicktext||'" ';IF Quicklink ~="" THEN Fdata=Fdata||'link="'||Quicklink||'" ';IF Quickvlink ~="" THEN Fdata=Fdata||'vlink="'||Quickvlink||'" ';IF Quickalink ~="" THEN Fdata=Fdata||'alink="'||Quickalink||'" ';IF Quickbackground ~="" THEN Fdata=Fdata||'background="'||Quickbackground||'" ';RETURN;INDICOL:;IF Indibgcolor ~="" THEN Fdata=Fdata||'bgcolor="'||Indibgcolor||'" ';IF Inditext ~="" THEN Fdata=Fdata||'text="'||Inditext||'" ';IF Indilink ~="" THEN Fdata=Fdata||'link="'||Indilink||'" ';IF Indivlink ~="" THEN Fdata=Fdata||'vlink="'||Indivlink||'" ';IF Indialink ~="" THEN Fdata=Fdata||'alink="'||Indialink||'" ';IF Indibackground ~="" THEN Fdata=Fdata||'background="'||Indibackground||'" ';RETURN;ALPHACOL:;IF Alphabgcolor ~="" THEN Fdata=Fdata||'bgcolor="'||Alphabgcolor||'" ';IF Alphatext ~="" THEN Fdata=Fdata||'text="'||Alphatext||'" ';IF Alphalink ~="" THEN Fdata=Fdata||'link="'||Alphalink||'" ';IF Alphavlink ~="" THEN Fdata=Fdata||'vlink="'||Alphavlink||'" ';IF Alphaalink ~="" THEN Fdata=Fdata||'alink="'||Alphaalink||'" ';IF Alphabackground ~="" THEN Fdata=Fdata||'background="'||Alphabackground||'" ';RETURN;INTROCOL:;IF Introbgcolor ~="" THEN Fdata=Fdata||'bgcolor="'||Introbgcolor||'" ';IF Introtext ~="" THEN Fdata=Fdata||'text="'||Introtext||'" ';IF Introlink ~="" THEN Fdata=Fdata||'link="'||Introlink||'" ';IF Introvlink ~="" THEN Fdata=Fdata||'vlink="'||Introvlink||'" ';IF Introalink ~="" THEN Fdata=Fdata||'alink="'||Introalink||'" ';IF Introbackground ~="" THEN Fdata=Fdata||'background="'||Introbackground||'" ';RETURN;BREAK_C:;Rtext='You pressed CTRL-C'LF LF'Thank you for Using 'Pname Version Lic;enum=32;CALL RERROR;RETURN;RERROR:;Title=Pname Version;Ir=RTEZREQUEST(Rtext,'_OK',Title," rtez_flags = ezreqf_centertext  rt_reqpos  = reqpos_centerscr");IF enum>0 THEN EXIT(enum);RETURN;WELCOME:;Rtext=Pname Version Lic LF;Rtext=Rtext||'Please register with.'LF;Rtext=Rtext||Owner Address LF;Rtext=Rtext||'Updates are available at'LF LF;Rtext=Rtext||'http://'||Shome||'amibin/'LF LF;Rtext=Rtext||'The current Database name is 'dbname LF;enum=0;CALL RERROR;RETURN;THANKYOU:;Rtext='Thank you for using 'Pname Version LF;enum=0;CALL RERROR;RETURN;IOERR:;Rtext='THERE WAS AN IO ERROR';enum=33;CALL RERROR;RETURN;VOYAGERVIEW:;ADDRESS VALUE "VOYAGER";OPENURL 'file:///'||GendexPath||'index.'||Ext;ADDRESS VALUE "SCIONGEN";RETURN;BIGPAGES:;say 'Building Big Pages';say 'This could take a while';File='bhtml';Idpage='';DO id=1 TO List.0;num=id+1;nmm=id-1;pre=LEFT(List.id,1);tst=LEFT(List.num,1);lsf=WORD(List.id,1);lst=WORD(List.num,1);lpr=WORD(List.nmm,1);irn=WORD(List.id,3);Mdata="";Marry=0;Idpage=pre||'ind.'||Ext;IF ~OPEN(''||File||'',''||GendexPath||''||Idpage||'','A') THEN;DO;IF ~OPEN(''||File||'',''||GendexPath||''||Idpage||'','W') THEN;DO;SAY 'UNABLE TO CREATE 'Idpage;EXIT;END;END;IF SEEK(''||File||'',0,'E')=0 THEN;DO;htitle= dbname||' - '||pre||' Index Page';CALL HEADDERTEXT;Mycol='Alpha';CALL COLORSET;Fdata='<center><b><h2>'||pre||' - Index Page</h2></b>'LF;Fdata=Fdata||'<font size=-1><br>Created '||DATE('N')||' by '||Realname||'</font></center>'LF;WRITELN(''||File||'',Fdata);END;GETLASTNAME irn;Last=RESULT;Last=TRANSLATE(Last,"_"," ");IF Last='' THEN Last='UNKNOWN';IF Last ~=lpr THEN WRITELN(''||File||'','<hr>'LF'<a name="'||Last||'" ></a>'LF'<center><h3><b>'||TRANSLATE(Last," ","_")||'</b></h3></center>'LF);CALL PAGEDATA;WRITELN(''||File||'',Fdata);IF pre ~=tst THEN;DO;WRITELN(''||File||'','<br><hr>');Ufile='postindex.txt';CALL USERTEXT;Fdata='<hr>';WRITELN(''||File||'',Fdata);CALL PAGEEND;END;CLOSE('bhtml');END;RETURN;PAGEDATA:;GETFIRSTNAME irn;Firstname=RESULT;IF Firstname='' THEN Firstname='Firstname UNKNOWN';Lastname=TRANSLATE(WORD(List.id,1),"_"," ");IF Lastname='UNKNOWN' THEN Lastname="";GETBIRTHDATE irn;Birthdate=RESULT;IF Birplace=1 THEN;DO;GETBIRTHPLACE irn;Birthplace=RESULT;END;ELSE Birthplace="";IF Bap=1 THEN;DO;GETBAPTISMDATE irn;Baptism=RESULT;END;ELSE Baptism="";IF Baplace=1 THEN;DO;GETBAPTISMPLACE irn;Baptismplace=RESULT;END;ELSE Baptismplace="";IF Ddate=1 THEN;DO;GETDEATHDATE irn;Deathdate=RESULT;END;ELSE Deathdate="";IF Burdate=1 THEN;DO;GETBURIALDATE irn;Burialdate=RESULT;END;ELSE Burialdate="";IF Burplace=1 THEN;DO;GETBURIALPLACE irn;Burialplace=RESULT;END;ELSE Burialplace="";IF Dplace=1 THEN;DO;GETDEATHPLACE irn;Deathplace=RESULT;END;ELSE Deathplace="";IF Occ=1 THEN;DO;GETOCCUPATION irn;Occupation=RESULT;END;ELSE Occupation="";IF Edu=1 THEN;DO;GETEDUCATION irn;Education=RESULT;END;ELSE Education="";IF Rel=1 THEN;DO;GETRELIGION irn;Religion=RESULT;END;ELSE Religion="";IF Diedof=1 THEN;DO;GETDIEDOF irn;Diedfrom=RESULT;END;ELSE Diedfrom="";IF Pcomm=1 THEN;DO;GETPERSCOMMENT irn;Pcomment=RESULT;END;ELSE Pcomment="";IF Pref=1 THEN;DO;GETPERSREFS irn;Preferences=RESULT;END;ELSE Preferences="";GETFATHER irn;Father=RESULT;IF Father ~="" THEN;DO;GETFIRSTNAME Father;Ffirst=RESULT;GETLASTNAME Father;Flast=RESULT;Fpage='#'||Father;END;GETMOTHER irn;Mother=RESULT;IF Mother ~="" THEN;DO;GETFIRSTNAME Mother;Mfirst=RESULT;GETLASTNAME Mother;Mlast=RESULT;Mpage='#'||Mother;END;GETNUMSIB irn;Numsib=RESULT;Fdata='<hr><a name="'||irn||'" ></a>'LF;IF Lastname='UNKNOWN' THEN Lastname="";Fdata=Fdata||'<b><h3>'||Firstname TRANSLATE(Lastname," ","_")||'</b></h3>'LF'<hr>'LF'<br>'LF;IF Father ~=0 THEN;DO;IF LEFT(Flast,1)=LEFT(Lastname,1) THEN dataf=fpage;ELSE dataf=LEFT(Flast,1)||'ind.'||Ext||'#'||Father;IF Ffirst||Flast ~="" THEN Fdata=Fdata 'Father : <a href="'||dataf||'" >'||Ffirst Flast||'</a><br>'LF;END;IF Mother ~=0 THEN;DO;IF LEFT(Mlast,1)=LEFT(Lastname,1) THEN datam=mpage;ELSE datam=LEFT(Mlast,1)||'ind.'||Ext||'#'||Mother;IF Mfirst||Mlast ~="" THEN Fdata=Fdata 'Mother : <a href="'||datam||'" >'||Mfirst Mlast||'</a><br>'LF;END;IF Numsib ~=0 THEN Fdata=Fdata 'Siblings : 'Numsib'<br>'LF;IF Birthdate ~="" THEN Fdata=Fdata 'Birth Date : 'Birthdate '<br>'LF;IF Birthplace ~="" THEN Fdata=Fdata 'Birth Place : 'Birthplace '<br>'LF'<br>'LF;IF Baptism ~="" THEN Fdata=Fdata 'Baptism Date : 'Baptism '<br>'LF;IF Baptismplace ~="" THEN Fdata=Fdata 'Baptism Place : 'Baptismplace '<br>'LF;IF Religion ~="" THEN Fdata=Fdata 'Religion : 'Religion '<br>'LF'<br>'LF;IF Diedfrom ~="" THEN Fdata=Fdata 'Died of : 'Diedfrom '<br>'LF;IF Deathdate ~="" THEN Fdata=Fdata 'Death Date : 'Deathdate '<br>'LF;IF Deathplace ~="" THEN Fdata=Fdata 'Death Place : 'Deathplace '<br>'LF'<br>'LF;IF Burialdate ~="" THEN Fdata=Fdata 'Burial Date : 'Burialdate '<br>'LF;IF Burialplace ~="" THEN Fdata=Fdata 'Burial Place :'Burialplace '<br>'LF'<br>'LF;IF Occupation ~="" THEN Fdata=Fdata 'Occupation : 'Occupation '<br>'LF;IF Education ~="" THEN Fdata=Fdata 'Education : 'Education '<br>'LF'<br>'LF;IF Pcomment ~="" THEN Fdata=Fdata 'Comment : 'Pcomment '<br>'LF;IF Preferences ~="" THEN Fdata=Fdata 'Reference : 'Preferences '<br>'LF'<br>'LF;WRITELN(''||File||'',Fdata);Fdata="";IF Pnotes ~=0 THEN;DO;Ufile='PN'||irn||'.'||Dbname;Ntitle=Firstname Lastname '- Personal Notes';CALL NOTES;END;GETNUMMARRY irn;Nummarry=RESULT;WRITELN(''||File||'',Fdata);IF Nummarry>0 THEN;DO;DO mid=0 TO Nummarry-1;GETMARRIAGE irn mid;fgrn=RESULT;Fdata='Spouse 'mid+1':' LF'<br>'LF;GETSPOUSE fgrn;spn=RESULT;IF spn=irn THEN;DO;GETPRINCIPAL fgrn;spn=RESULT;END;IF spn ~='' THEN;DO;GETLASTNAME spn;lspn=RESULT;IF lspn="" THEN lspn="UNKNOWN";GETFIRSTNAME spn;fspn=RESULT;IF fspn="" THEN fspn="First Name UNKNOWN";IF LEFT(lspn,1)=LEFT(Lastname,1) THEN datas='#'||spn;ELSE datas=LEFT(lspn,1)||'ind.'||Ext||'#'||spn;IF fspn||lspn ~="" THEN;DO;IF lspn='UNKNOWN' THEN lspn="";Fdata=Fdata '<a href="'||datas||'" >'||fspn lspn||'</a><br>'LF;END;END;GETMARRYDATE fgrn;mdate=RESULT;IF mdate ~="" THEN Fdata=Fdata 'Marriage Date : 'mdate '<br>'LF;IF Engdate=1 THEN;DO;GETENGAGEDATE fgrn;Engagedate=RESULT;IF Engagedate ~="" THEN Fdata=Fdata 'Engagement Date : 'Engagedate '<br>'LF;END;IF Engplace=1 THEN;DO;GETENGAGEPLACE fgrn;Engageplace=RESULT;IF Engageplace ~="" THEN Fdata=Fdata 'Engagement Place : 'Engageplace '<br>'LF;END;IF Marplace=1 THEN;DO;GETMARRYPLACE fgrn;mplc=RESULT;IF mplc ~="" THEN Fdata=Fdata 'Marriage Place : 'mplc '<br>'LF;END;IF Marendate=1 THEN;DO;GETENDDATE fgrn;Menddate=RESULT;IF Menddate ~="" THEN Fdata=Fdata 'End Date : 'Menddate '<br>'LF;END;IF Mendplace=1 THEN;DO;GETENDPLACE fgrn;pend=RESULT;IF pend ~="" THEN Fdata=Fdata 'End Place : 'pend '<br>'LF;END;IF Endmar=1 THEN;DO;GETENDING fgrn;mend=RESULT;SELECT;WHEN mend=2 THEN endm='Divorce';WHEN mend=3 THEN endm='Separation';WHEN mend=4 THEN endm='Annulment';WHEN mend=5 THEN endm='Death';OTHERWISE endm="";END;IF endm ~="" THEN Fdata=Fdata 'End Reason : 'endm '<br>'LF;END;IF Cele=1 THEN;DO;GETCELEBRANT fgrn;Celebrant=RESULT;IF Celebrant ~="" THEN Fdata=Fdata 'Celebrant : 'Celebrant '<br>'LF;END;IF Wit=1 THEN;DO;GETWITNESS fgrn;Witness=RESULT;IF Witness ~="" THEN Fdata=Fdata 'Witness : 'Witness '<br>'LF;END;IF Fcomm=1 THEN;DO;GETFAMCOMMENT fgrn;Fcomment=RESULT;IF Fcomment ~="" THEN Fdata=Fdata 'Comment : 'Fcomment '<br>'LF;END;IF Fref=1 THEN;DO;GETFAMREFS fgrn;Freference=RESULT;IF Freference ~="" THEN Fdata=Fdata 'Reference : 'Freference '<br>'LF;END;GETNUMCHILD fgrn;numc=RESULT;IF numc>0 THEN Fdata=Fdata '<br>'LF'<br>'LF'Children Recorded : 'numc '<br>'LF'<br>'LF;WRITELN(''||File||'',Fdata);Fdata="";IF numc>0 THEN;DO cnum=0 TO numc-1;GETCHILD fgrn cnum;Child=RESULT;GETFIRSTNAME Child;Fchild=RESULT;GETLASTNAME Child;Lchild=RESULT;Childpage='#'||Child;IF LEFT(Lchild,1)=LEFT(Lastname,1) THEN dataf=Childpage;ELSE dataf=LEFT(Lchild,1)||'ind.'||Ext||'#'||Child;IF Fchild||Lchild ~="" THEN Fdata='<a href="'||dataf||'" >'||Fchild Lchild||'</a><br>';WRITELN(''||File||'',Fdata);Fdata="";END;WRITELN(''||File||'','<br>'LF);IF Pnotes ~=0 THEN;DO;Ufile='FN'||fgrn||'.'||Dbname;Ntitle=Firstname Lastname 'and' fspn lspn '- Family Notes';CALL NOTES;END;END;END;RETURN